<?php
namespace app\common\validate;
class Account extends \think\Validate
{
    protected $rule = [
        'name'  => 'require',
        'role' => 'require|checkRole',
        'telephone'   => 'require|checkTel|unique:account',
        'fun' => 'require',
    ];

    protected $message = [
        'name.require' => '用户名不能为空',
        'telephone.require' => '手机号不能为空',
        'telephone.unique' => '已录入该手机号',
        'role.require' => '角色不能为空',
        'fun.require' => '功能不能为空',
    ];

    // 自定义验证规则
    protected function checkTel($value)
    {
        if (!isTelephone($value))
            return '手机格式不正确';
        return true;
    }

    protected function checkRole($value,$id,$data){
        if (in_array($value,[2,21,30])){
            if(!$data['id']){
                $check = \app\common\model\Account::where('role',$value)->find();
                if($check)
                    return '该职位只能录入一人';
            }
        }
        return true;
    }

}